 TheScarms AppSentinel Version 1.5.0
 ------------------------------------
Copyright  2002 David Scarmozzino
      All Rights Reserved
http://www.TheScarms.com/AppSentinel
        TheScarms (TM)


NOTE: This file is best viewed when maximized.


WHAT'S NEW IN THIS RELEASE

1)  New name for DLLs.
2)  Trial version of AppSentinelAdmin and Control Panel
3)  New Machine ID logic
4)  New FileMask logic
5)  UseMACAddress property
6)  Updated sample programs
7)  ObjectBinding.htm
8)  New installation instructions
9)  PriorVersion Property
10) RememberMID


1) NEW NAME FOR DLLs

The release and trial versions of the AppSentinel DLL were
renamed. This was done to provide better security so
web searches of the dll's name would not link back to the
AppSentinel web site.

All identifying information was removed from the DLL's and is
no longer visible when viewing its properties in Explorer.

The DLL name change requires a change to applications incorporating
AppSentinel. The new DLL name must now be referenced. See the 
code samples for details.

2) TRIAL VERSION OF APPSENTINELADMIN, CONTROL PANEL

In addition to the trial version of AppSentinel there is 
now a trial version of the Admin DLL and the Control Panel. The 
trial version components work together. Registration IDs produced 
by the free trial version of AppSentinelAdmin and Control Panel will 
work with the trial version of AppSentinel but will not work with 
the release version.

A user cannot download the free AppSentinel package from the web  
and use it to generate registration IDs that work in your program.

Users will be emailed the release version of AppSentinel, 
AppSentinelAdmin and the Control Panel only after purchasing the 
full version.

3) NEW MACHINE ID LOGIC

The computer's Network Interface Card's (NIC) Medium Access Control (MAC)
Address can now optionally be added to the Machine ID by setting the new
"UseMACAddress" property. Using the MAC Address makes new machine IDs
incompatible with old machine IDs. See the section on the UseMACAddress 
property below.

However, even without using the MAC Address, the Machine ID has changed. 
The new ID is typically longer than the old one and is no longer compatible 
with the old ID. You can still use the old Machine ID logic by setting
the "PriorVersion" property as discussed below.

The Machine ID can now be stored. See the RememberMID property below.

4) NEW FILEMASK LOGIC

While the FileMask property has not changed, the file names derived
from it have. This version of AppSentinel stores registration data
in different locations than the previous version.

If you convert to V1.5.0 of AppSentinel and continue to use your 
old FileMask all of your registration data should be retrieved and
stored in the new locations automatically (provided you use the 
same RegistrySubKey).

5) USEMACADDRESS PROPERTY

A Medium Access Control (MAC) Address is a unique 48 bit number assigned to 
the computer's Network Interface Card (NIC) by its manufacturer.

You can set this property to use the MAC Address when creating the Machine ID.
This can help to insure the machine ID is unique among computers.

SETTING THIS PROPERTY IS NOT A GUARANTEE THAT THE MAC ADDRESS WILL BE USED.
Obtaining a consistent MAC address depends on several parameters: the operating 
system, the NIC card installed, whether the NetBios protocol is installed, the 
network cable being connected, the Lan Adapter Number (LANA) used, and other 
factors.

You should include the MAC address in your machine ID only if you are certain
these parameters will be stable on your user's computers.

NOTE: Setting the "UseMACAddress" property has no effect if the "PriorVersion" property, discussed below, is set.

6) UPDATED SAMPLE PROGRAMS

There is more sample code and it has been updated. Incorporating
AppSentinel into an application does not require as much code as
the samples portrayed.

The samples also reflect the DLL name change. The comments and discussion
on Early vs Late binding have been removed from each sample and centralized 
in the ObjectBinding.htm file.

7) OBJECTBINDING.HTM

This file discusses how to reference the trial and/or release version
of AppSentinel in your application. It also covers Early and Late binding 
techniques.

8) NEW INSTALLATION INSTRUCTIONS

The instructions on unzipping AppSentinel.zip and registering the DLLs have
been simplified as has the directory structure containing the AppSentinel 
files. See the ReadMe.htm file for details. 

9) PRIORVERSION PROPERTY

A new property was added to the AppSentinel DLL. Use this property to specify 
the version of AppSentinel you want the Machine ID to be compatible with. The 
CallingConventions.htm document has more details.

For example: the current version of AppSentinel is 1.5.0 and creates machine
IDs incompatible with version 1.0.0 and 1.0.2. To force the
current version to produce the same IDs, set the "PriorVersion"
property to "1.0". This property must be set prior to calling the
"GetRegistrationInfo" method.

10) REMEMBERMID PROPERTY

The new RememberMID property instructs AppSentinel to store the Machine ID along 
with other registration data. Previously the Machine ID was calculated every time 
AppSentinel was instantiated. This is still the default. 

Setting RememberMID True causes the machine ID to be calculated once then stored. 
Subsequent invocations of AppSentinel will use the stored value unless the
RememberMID property is reset.

Storing the Machine ID allows the registration data to be more stable. The Machine 
ID will not be effected by hardware changes. However, if the stored value some how 
becomes corrupt, or your application subsequently instructs AppSentinel not to store 
the ID, the ID will be recalculated and may no longer match the original value if 
the PC's hardware changed significantly. This will result in the Registration ID no 
longer being valid. This is more likely to occur if the MID is calculated every time.


